package com.xdtech.trans.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.trans.model.TransOrderScan;
import com.xdtech.trans.vo.TransOrderScanItem;

/**
 * 
 * @author max.zheng
 * @create 2015-06-08 23:17:52
 * @since 1.0
 * @see
 */
public interface TransOrderScanService extends IBaseService<TransOrderScan>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-06-08 23:17:52
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateTransOrderScan(TransOrderScanItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-06-08 23:17:52
	 * @modified by
	 * @param newId
	 * @return
	 */
	TransOrderScanItem loadTransOrderScanItem(Long transOrderScanId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-06-08 23:17:52
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteTransOrderScanInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-06-08 23:17:52
	 * @modified by
	 * @param transOrderScanIds
	 */
	boolean deleteTransOrderScanInfo(List<Long> transOrderScanIds);
	
	/**
	 * 加载vo列表条目
	 * @author max.zheng
	 * @create 2015-06-08 23:17:52
	 * @modified by
	 * @return
	 */
	List<TransOrderScanItem> loadItems();

	/**
	 * 寄件扫描
	 * @author max.zheng
	 * @create 2015-6-9下午10:27:44
	 * @modified by
	 * @param item
	 */
	String sureStartScan(TransOrderScanItem item);

	/**
	 * 发件扫描
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-10 下午4:51:13
	 * @param item
	 */
	String sureSendScan(TransOrderScanItem item);

	/**
	 * 到件扫描
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-10 下午5:01:10
	 * @param item
	 */
	String sureArriveScan(TransOrderScanItem item);

	/**
	 * 派件扫描
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-10 下午5:06:56
	 * @param item
	 */
	String sureDeliveryScan(TransOrderScanItem item);

	/**
	 * 签收扫描
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-10 下午5:14:37
	 * @param item
	 */
	String sureSignScan(TransOrderScanItem item);

	/**
	 * 加载最新扫描信息
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-11 下午2:06:57
	 * @param orderNo
	 * @return
	 */
	TransOrderScanItem loadLastestScanInfoByOrderNo(String orderNo);

	/**
	 * app端派件扫描
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-7-6 上午11:49:36
	 * @param transOrderScanItem
	 * @return
	 */
	String deliverScanWithApp(TransOrderScanItem transOrderScanItem);
}
